package com.jsbj.user.entities;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 项目表
 * </p>
 *
 * @author jsbj
 * @since 2022-03-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="SysProject对象", description="项目表")
public class SysProject implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "项目表id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "工程编码")
    private String proCode;

    @ApiModelProperty(value = "工程名称")
    private String proName;

    @ApiModelProperty(value = "所属省份编号")
    private Integer provinceCode;

    @ApiModelProperty(value = "所属城市编号")
    private Integer cityCode;

    @ApiModelProperty(value = "区县编号")
    private Integer areaCode;

    @ApiModelProperty(value = "开工日期")
    private Date startDate;

    @ApiModelProperty(value = "完工日期")
    private Date endDate;

    @ApiModelProperty(value = "项目状态 1已完工 2在建")
    @TableField(exist = false)
    private String status;

    @ApiModelProperty(value = "项目类型（1新建工程、2养护改善工程、3改扩建工程）")
    private Integer proType;

    @ApiModelProperty(value = "公路类型（1干线公路、2高速公路、3市政道路、4其他公路）")
    private Integer roadType;

    @ApiModelProperty(value = "工程类型：1路基工程；2路面工程；3桥梁工程；4隧道工程；5其他工程")
    private String engType;

    @ApiModelProperty(value = "道路等级：1一级、2二级、3其他")
    private Integer roadGrade;

    @ApiModelProperty(value = "建设规模：建设里程")
    private Double roadKm;

    @ApiModelProperty(value = "建设规模：投资规模")
    private BigDecimal roadMoney;

    @ApiModelProperty(value = "X坐标")
    private String geox;

    @ApiModelProperty(value = "Y坐标")
    private String geoy;

    @ApiModelProperty(value = "短信签名：1-路航达；2-南京谷伯; 3-纬创交科; 4-六的平方")
    private Integer smsType;

    @ApiModelProperty(value = "项目前缀")
    private String proPrex;

    @ApiModelProperty(value = "项目简介(平台用)")
    private String introduction;

    @ApiModelProperty(value = "项目图片(平台用)")
    private String proImage;

    @ApiModelProperty(value = "项目负责人")
    private String contacts;

    @ApiModelProperty(value = "项目负责人手机号")
    private String contactsPhone;

    @ApiModelProperty(value = "是否有效，0 – 有效，1 – 无效")
    @TableField(fill = FieldFill.INSERT)
    private Integer disabled;

    @ApiModelProperty(value = "项目地址")
    private String address;

    @ApiModelProperty(value = "创建者")
    private String createrId;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新者")
    private String updateId;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    private String tenantCode;

    @ApiModelProperty(value = "包含系统，系统编码用逗号隔开")
    private String includeSystem;

    @ApiModelProperty(value = "包含系统，系统编码用逗号隔开(历史的都放进来)")
    private String includeSystemHistory;

    @ApiModelProperty(value = "项目状态")
    private String proStatus;

    @ApiModelProperty(value = "资料上传开始日期")
    private String uploadStartDate;

    @ApiModelProperty(value = "资料上传结束日期")
    private String uploadEndDate;

    @ApiModelProperty(value = "附件id 多个逗号拼接")
    private String fileIds;

    @ApiModelProperty(value = "项目类型描述")
    @TableField(exist = false)
    private String proTypeDesc;

    @ApiModelProperty(value = "公路类型描述")
    @TableField(exist = false)
    private String roadTypeDesc;

    @ApiModelProperty(value = "工程类型描述")
    @TableField(exist = false)
    private String engTypeDesc;

    @ApiModelProperty(value = "道路等级描述")
    @TableField(exist = false)
    private String roadGradeDesc;

    @ApiModelProperty(value = "开工日期传参")
    @TableField(exist = false)
    private String startDateStr;

    @ApiModelProperty(value = "完工日期传参")
    @TableField(exist = false)
    private String endDateStr;

    @ApiModelProperty(value = "短信签名描述")
    @TableField(exist = false)
    private String smsTypeDesc;

    @ApiModelProperty(value = "图片路径")
    @TableField(exist = false)
    private String filepath;

    @ApiModelProperty(value = "项目状态")
    @TableField(exist = false)
    private String proStatusName;

    @ApiModelProperty(value = "租户信息")
    @TableField(exist = false)
    private SysTenant tenantInfo;
}
